/**
 * @filename:SysAction 2022年1月27日
 * @project Wonder wallet Framework  V1.0
 * Copyright(c) 2020 LuZhongren Co. Ltd. 
 * All right reserved. 
 */
package com.wonder.admin.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.List;
import java.util.Map;


/**   
 * @Description:TODO(模块方法管理实体类)
 * 
 * @version: V1.0
 * @author: LuZhongren
 * 
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_action")
@ApiModel(value="action对象", description="模块方法管理表")
public class SysAction extends Model<SysAction> {

	private static final long serialVersionUID = 1643435058476L;
	
	@TableId(value ="id", type = IdType.AUTO)
	@ApiModelProperty(name = "id" , value = "")
	private Long id;
    
 	@TableField(value = "menu_id")
	@ApiModelProperty(name = "menu_id" , value = "模块ID")
	private Long menu_id;
    
 	@TableField(value = "name")
	@ApiModelProperty(name = "name" , value = "动作名称")
	private String name;
    
 	@TableField(value = "action_name")
	@ApiModelProperty(name = "action_name" , value = "动作名称")
	private String action_name;
    
 	@TableField(value = "type")
	@ApiModelProperty(name = "type" , value = "")
	private Integer type;
    
 	@TableField(value = "icon")
	@ApiModelProperty(name = "icon" , value = "icon图标")
	private String icon;
    
 	@TableField(value = "pagesize")
	@ApiModelProperty(name = "pagesize" , value = "每页显示数据条数")
	private String pagesize;
    
 	@TableField(value = "group_button_status")
	@ApiModelProperty(name = "group_button_status" , value = "按钮组显示状态")
	private Integer group_button_status;
    
 	@TableField(value = "list_button_status")
	@ApiModelProperty(name = "list_button_status" , value = "按钮是否显示列表")
	private Integer list_button_status;
 	
 	
 	@TableField(value = "list_button_condition")
	@ApiModelProperty(name = "list_button_condition" , value = "按钮列表是否显示条件")
	private String list_button_condition;
    
 	@TableField(value = "button_color")
	@ApiModelProperty(name = "button_color" , value = "")
	private String button_color;
    
 	@TableField(value = "fields")
	@ApiModelProperty(name = "fields_table" , value = "操作的字段")
	private String fields_table;
 	
 	@TableField(exist = false)
	@ApiModelProperty(name = "fields" , value = "操作的字段")
	private String[] fields;
    
 	@TableField(value = "sortid")
	@ApiModelProperty(name = "sortid" , value = "排序")
	private Integer sortid;
    
 	@TableField(value = "orderby")
	@ApiModelProperty(name = "orderby" , value = "配置排序")
	private String orderby;
    
 	@TableField(value = "tree_config")
	@ApiModelProperty(name = "tree_config" , value = "")
	private String tree_config;
    
 	@TableField(value = "jump")
	@ApiModelProperty(name = "jump" , value = "按钮跳转地址")
	private String jump;
    
 	@TableField(value = "server_create_status")
	@ApiModelProperty(name = "server_create_status" , value = "")
	private Integer server_create_status;
    
 	@TableField(value = "vue_create_status")
	@ApiModelProperty(name = "vue_create_status" , value = "视图生成")
	private Integer vue_create_status;
    
 	@TableField(value = "cache_time")
	@ApiModelProperty(name = "cache_time" , value = "缓存时间")
	private Integer cache_time;
    
 	@TableField(value = "create_select")
	@ApiModelProperty(name = "create_select" , value = "是否生成选择弹窗")
	private Integer create_select;
 	
 	@TableField(value = "create_dialog")
	@ApiModelProperty(name = "create_dialog" , value = "是否生成弹窗列表")
	private Integer create_dialog;
 	
 	@TableField(value = "api_auth")
	@ApiModelProperty(name = "api_auth" , value = "接口是否鉴权")
	private Integer api_auth;
    
 	@TableField(value = "img_auth")
	@ApiModelProperty(name = "img_auth" , value = "图片验证码鉴权")
	private Integer img_auth;
    
 	@TableField(value = "sms_auth")
	@ApiModelProperty(name = "sms_auth" , value = "短信验证")
	private Integer sms_auth;
    
 	@TableField(value = "list_filter")
	@ApiModelProperty(name = "list_filter_table" , value = "过滤")
	private String list_filter_table;
 	
	@TableField(exist = false )
	@ApiModelProperty(name = "list_filter" , value = "过滤")
	private List<Map<String, Object>> list_filter;
    
 	@TableField(value = "tab_config")
	@ApiModelProperty(name = "tab_config_table" , value = "")
	private String tab_config_table;
 	
 	@TableField(exist = false )
	@ApiModelProperty(name = "tab_config" , value = "")
	private List<Map<String, Object>> tab_config;
    
 	@TableField(value = "`sql`")
	@ApiModelProperty(name = "sql" , value = "")
	private String sql;
    
 	@TableField(value = "dialog_size")
	@ApiModelProperty(name = "dialog_size" , value = "")
	private String dialog_size;
    
 	@TableField(value = "status_val")
	@ApiModelProperty(name = "status_val" , value = "")
	private String status_val;
    
 	@TableField(value = "validate")
	@ApiModelProperty(name = "validate" , value = "")
	private String validate;
    
 	@TableField(value = "select_type")
	@ApiModelProperty(name = "select_type" , value = "选中方式 1多选 2单选")
	private Integer select_type;
    
 	@TableField(value = "table_height")
	@ApiModelProperty(name = "table_height" , value = "表格高度")
	private String table_height;
    
 	@TableField(value = "left_tree_sql")
	@ApiModelProperty(name = "left_tree_sql" , value = "侧栏生成的sql")
	private String left_tree_sql;
    
 	@TableField(value = "with_join")
	@ApiModelProperty(name = "with_join_table" , value = "关联模型")
	private String with_join_table;
 	
 	@TableField(exist = false)
	@ApiModelProperty(name = "with_join" , value = "关联模型")
	private List<Map<String, Object>> with_join;
    
 	@TableField(value = "other_config")
	@ApiModelProperty(name = "other_config" , value = "登录字段配置")
	private String other_config;
    

	@Override
    public Serializable pkVal() {
        return this.id;
    }
}
